#include "audioSound.h"

TypeHandle AudioSound::_type_handle;

AudioSound::
~AudioSound()
{
}

void AudioSound::
set_3d_attributes(float px, float py, float pz, float vx, float vy, float vz)
{
}

void AudioSound::
get_3d_attribute(float* px, float* py, float* pz, float* vx, float* vy, float* vz)
{
}

void AudioSound::
set_3d_min_distance(float dist)
{
}

float AudioSound::
get_3d_min_distance() const
{
	return 0.0f;
}

void AudioSound::
set_3d_max_distance(float dist)
{
}

float AudioSound::
get_3d_max_distance() const
{
	return 0.0f;
}

float AudioSound::
get_speaker_mix(int speaker)
{
	return 0.0;
}

void AudioSound::
set_speaker_mix(float frontleft, float frontright, float center, float sub, float backleft, float backright, float sideleft, float sideright)
{
}

float AudioSound::
get_speaker_level(int index)
{
	return 0.0;
}

void AudioSound::
set_speaker_levels(float level1, float level2, float level3, float level4, float level9, float level6, float level7, float level8, float level9)
{
}

bool AudioSound::
configure_filters(FilterProperties* config)
{
	const FilterProperties::ConfigVector& conf = config->get_config();
	if (conf.empty())
	{
		return true;
	}
	else
	{
		return false;
	}
}

int AudioSound::
get_priority()
{
	return 0;
}

void AudioSound::
set_priority(int priority)
{
;
}

void AudioSound::
output(ostream& out) const
{
	out << get_type() << " " << get_name() << " " << status();
}

void AudioSound::
write(ostream& out) const
{
	out << (*this) << "\n";
}

ostream&
operator << (ostream& out, AudioSound::SoundStatus status)
{
	switch(status)
	{
		case AudioSound::BAD:
			return out << "BAD";
		case AudioSound::READY:
			return out << "READY";
		case AudioSound::PLAYING:
			return out << "PLAYING"
	}
	
	return out << "**invalid AudioSound::SoundStatus(" << (int)status << ")**";
}

